﻿using System.Windows;
using Tiny.Imaging.Filter.BaseFilter;
using Tiny.Imaging.Filter.PointFilter;

namespace Tiny.Imaging.Filter.EffectFilter
{
    public class JarquesFilter : BaseFilterCollection
    {
        public JarquesFilter(int width, int height)
        {
            Add(new SaturationFilter(-35));
            Add(new CurvesFilter(RgbChannel.B, new Point(20, 0), new Point(90, 120), new Point(186, 144),
                                 new Point(255, 230)));
            Add(new CurvesFilter(RgbChannel.R, new Point(0, 0), new Point(144, 90), new Point(138, 120),
                                 new Point(255, 255)));
            Add(new CurvesFilter(RgbChannel.G, new Point(10, 0), new Point(115, 105), new Point(148, 100),
                                 new Point(255, 248)));
            Add(new CurvesFilter(RgbChannel.Rgb, new Point(0, 0), new Point(120, 100), new Point(128, 140),
                                 new Point(255, 255)));
        }
    }
}